reshape package

https://cran.r-project.org/web/packages/reshape/reshape.pdf
install.packages(‘reshape’)

환경변수(PATH)
.libPaths()
reshape 패키지는 melt와 cast를 포함한 데이터 마트 개발하는데 강력한 함수 20여개를 포함한다.
melt()
melt() 함수는 데이터를 특정 변수 기준으로 녹여서 나머지 변수에 대한 세분화된 데이터를 만든다.

> score

  student_number semester math_score english_score

1              1        1         60            80

2              2        1         90            70

3              1        2         80            40

4              2        2         90            60

> library(reshape)

> melt(score, id=c("student_number", "semester"))

  student_number semester      variable value

1              1        1    math_score    60

2              2        1    math_score    90

3              1        2    math_score    80

4              2        2    math_score    90

5              1        1 english_score    80

6              2        1 english_score    70

7              1        2 english_score    40

8              2        2 english_score    60

cast()
cast() 함수는 melt()에 의해 녹은 데이터를 요약을 위해 새롭게 가공할 수 있게 도와준다.

> melted_score<-melt(score, id=c("student_number", "semester”))


# 학생들의 과목별 평균 과목

> cast(melted_score, student_number~variable, mean)

  student_number math_score english_score

1              1         70            60

2              2         90            65


#학생의 학기별 평균 점수

> cast(melted_score, student_number~semester, mean)

  student_number  1  2

1              1 70 60

2              2 80 75


#학생의 과목별 최댓값

> cast(melted_score, student_number~variable, max)

  student_number math_score english_score

1              1         80            80

2              2         90            70